package entry.options;

import enums.OptionsTextTypeEnums;
import enums.TextAlignEnums;
import enums.TextVerticalAlignEnums;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @Author LS
 * @Date 2023/4/16 22:35
 * @Description
 **/

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class TextOptions extends Options{

    // 标题
    private String title;

    // 字段名
    private String field;

    // 测试数据
    private String testData;

    // 数据类型 todo emums（datetime，boolean）
    private String dataType;

    // 时间/布尔 格式化
    private String format;

    // 字体 todo default
    private String fontFamily;

    // 字体大小
    private double fontSize = 9;

    // 字体粗细 bold...
    private String fontWeight = "plain";

    // 字符间距
    private double letterSpacing;

    // 字体颜色
    private String color;

    // 文本修饰 todo enums
    private String textDecoration;

    // 左右对齐
    private TextAlignEnums textAlign = TextAlignEnums.LEFT;

    // 上下对齐
    private TextVerticalAlignEnums textContentVerticalAlign = TextVerticalAlignEnums.TOP;

    // 字体行高
    private double lineHeight;

    // 打印类型
    private OptionsTextTypeEnums textType = OptionsTextTypeEnums.TEXT;

    // 条码格式 todo
    private String barcodeMode;

    // 标题展示隐藏
    private boolean hideTitle = false;

    // 显示规则 todo
    private String showInPage;

    // 隐藏规则
    private String unShowInPage;

    // 位置固定
    private boolean fixed;

    // 拖动方向
    private String axis;

    // 旋转角度
    private double transform;

    // 左边框
    private String borderLeft;

    // 上边框
    private String borderTop;

    // 右边框
    private String borderRight;

    // 下边框
    private String borderBottom;

    // 边框大小
    private String borderWidth;

    // 边框颜色
    private String borderColor;

    // 左内边距
    private double contentPaddingLeft;

    // 上内边距
    private double contentPaddingTop;

    // 右内边距
    private double contentPaddingRight;

    // 下内边距
    private double contentPaddingBottom;

    // 背景色
    private String backgroundColor;

    // 格式化函数
    private String formatter;

    // 样式函数
    private String styler;

}
